﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Descripción breve de UsersManager
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
// [System.Web.Script.Services.ScriptService]
public class UsersManager : System.Web.Services.WebService {

    private UsuariosBL _UsuariosBL = new UsuariosBL();

    [WebMethod]
    [System.Xml.Serialization.XmlInclude(typeof(Usuario))]
    public string GuardarUsuario(Usuario usuario)
    {

        try
        {
            _UsuariosBL.GuardarUsuario(usuario);
            return "ok" ;
        }
        catch (Exception ex)
        {
            return "error";
        }
    }

    [WebMethod]
    [System.Xml.Serialization.XmlInclude(typeof(Usuario))]
    public ResultObject BorrarUsuario(string id)
    {
        try
        {
            _UsuariosBL.BorrarUsuario(id);
            return new ResultObject("ok", null);
        }
        catch (Exception ex)
        {
            return new ResultObject("No fue posible borrar el usuario", null);
        }
    }

    [WebMethod]
    public string cambiarContrasena(string usuarioId, string nueva)
    {
        try
        {
            return _UsuariosBL.CambiarContrasena(usuarioId, nueva);
        }
        catch (Exception e)
        {
            return "Error al cambiar la contrasena";
        }
    }

    [WebMethod]
    public string ObtenerUsuario(long idUsuario)
    {
        try
        {
            return _UsuariosBL.ObtenerUsuario(idUsuario);
        }
        catch (Exception ex)
        {
            var error =" No fue posible borrar el usuario";
            return error;
        }
    }


    public List<string> ObtenerJefes()
    {
        try
        {
            return _UsuariosBL.ObtenerJefes();
        }
        catch (Exception ex)
        {
            var error = " No fue posible encontrar a los jefes";
            var returnError = new List<string> {error};
            return returnError;
        }
    }

    [WebMethod]
    public string ObtenerMail(long idUsuario)
    {
        try
        {
            return _UsuariosBL.ObtenerMail(idUsuario);
        }
        catch (Exception ex)
        {
            var error = " No fue posible obtener el mail";
            return error;
        }
    }

    
}
